From f9cc263c5c28a95d4b034252e44f8866b213b1b9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 28 Aug 2012 15:26:41 -0400 Subject: [PATCH] * admin/bzrmerge.el (bzrmerge-merges): Allow unversioned files in the tree. --- admin/ChangeLog | 4 ++++ admin/bzrmerge.el | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/admin/ChangeLog b/admin/ChangeLog index b76f3800101..7d7a6cfaedf 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2012-08-28 Glenn Morris + + * bzrmerge.el (bzrmerge-merges): Allow unversioned files in the tree. + 2012-08-28 Andreas Schwab * charsets/mule-charsets.el (header): Fix typo. diff --git a/admin/bzrmerge.el b/admin/bzrmerge.el index e174312143d..8d64dd9edbf 100644 --- a/admin/bzrmerge.el +++ b/admin/bzrmerge.el @@ -45,16 +45,23 @@ The list returned is sorted by oldest-first." (erase-buffer) ;; We generally want to make sure we start with a clean tree, but we also ;; want to allow restarts (i.e. with some part of FROM already merged but - ;; not yet committed). + ;; not yet committed). Unversioned (unknown) files in the tree + ;; are also ok. (call-process "bzr" nil t nil "status" "-v") (goto-char (point-min)) (when (re-search-forward "^conflicts:\n" nil t) (error "You still have unresolved conflicts")) - (let ((merges ())) + (let ((merges ()) + found) (if (not (re-search-forward "^pending merges:\n" nil t)) (when (save-excursion (goto-char (point-min)) - (re-search-forward "^[a-z ]*:\n" nil t)) + (while (and + (re-search-forward "^\\([a-z ]*\\):\n" nil t) + (not + (setq found + (not (equal "unknown" (match-string 1))))))) + found) (error "You still have uncommitted changes")) ;; This is really stupid, but it seems there's no easy way to figure ;; out which revisions have been merged already. The only info I can -- 2.30.2